Structured Entity Information Page

ABSTRACT

A method performed at a server system includes: receiving a request from a client device for an information page associated with an entity of an entity class; identifying historical user activity logged by the server system associated with users with respect to one or more of the entity and the entity class; identifying information and multiple information types associated with the entity; generating and formatting a structured information page structured according to the identified information types, where the identified information types include predefined information types and dynamically selected information types, and the dynamically selected information types are selected from a set of candidate information types in accordance with relative importance of the candidate information types as determined by the server system based on the historical user activity; populating the structured information page with the identified information; and transmitting the structured information page to the client device for display.

RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/081,001, titled “Structured Entity Information Page,” filed Nov. 17,2014, which is incorporated by reference herein in its entirety.

TECHNICAL FIELD

The present application describes systems and methods for displayinginformation about entities in a structured way.

BACKGROUND

To better serve users, web pages and other sources of visually-presentedinformation aim to provide information in a way that is clear, useful,and engaging. One way to do that is to provide information in a formatin which information about a subject of user interest is curated andpresented structurally. Curation of the information, so that theinformation presented is the most important and/or useful, requireshuman input, but manual curation by human editors does not scale well.On the other hand, structuring information according to a predefinedscheme scales well, but risks burdening the information page withinformation that users may find not important and/or not useful.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a distributed client-serversystem in accordance with some implementations.

FIG. 2 is a block diagram illustrating the structure of an exampleserver system according to some implementations.

FIG. 3 is a block diagram illustrating the structure of an exampleclient device in accordance with some implementations.

FIG. 4A illustrates an example information card in accordance with someimplementations.

FIG. 4B illustrates an example structured information page in accordancewith some implementations.

FIG. 5 illustrates an example information card in accordance with someimplementations.

FIG. 6 illustrate an example structured information page in accordancewith some implementations.

FIGS. 7A-7B are flow diagrams illustrating a method of displaying astructured information page in accordance with some implementations.

FIGS. 8A-8B are flow diagrams illustrating a method of generating andproviding a structured information page in accordance with someimplementations.

Like reference numerals refer to corresponding parts throughout thedrawings.

DESCRIPTION OF IMPLEMENTATIONS

The methods and systems described herein disclose systems and methodsfor presenting information of various information types about an entityin a structured information page, in which some of the information typesincluded in the structured information page are dynamically selected forinclusion in the structured information page in accordance withhistorical user activity. Such methods and systems provide an effectiveway to present to users entity information that is organized and whichincludes information that users are more likely to consider important.

Reference will now be made in detail to various implementations,examples of which are illustrated in the accompanying drawings. In thefollowing detailed description, numerous specific details are set forthin order to provide a thorough understanding of the invention and thedescribed implementations. However, the invention may be practicedwithout these specific details. In other instances, well-known methods,procedures, components, and circuits have not been described in detailso as not to unnecessarily obscure aspects of the implementations.

FIG. 1 is a block diagram illustrating a client-server environment 100that includes: a client system or device 102, one or more communicationnetworks 104, a server system 106, and optionally one or moreinformation sources 170. The server system 106 is coupled to the clientdevice 102 and information sources 170 by the communication network(s)104. In some implementations, the server system 106 is a search enginesystem.

In some implementations, the server system 106 is implemented as asingle server system, while in other implementations the server system106 is implemented as a distributed system of multiple servers. Solelyfor convenience of explanation, the server system 106 is described belowas being implemented on a single server system.

The communication network(s) 104 can be any wired or wireless local areanetwork (LAN) and/or wide area network (WAN), such as an intranet, anextranet, or the Internet. It is sufficient that the communicationnetwork 104 provides communication capability between the client device102, the server system 106, and the information sources 170. In someimplementations, the communication network 104 uses the HyperTextTransport Protocol (HTTP) to transport information using theTransmission Control Protocol/Internet Protocol (TCP/IP). HTTP permitsclient devices 102 to access various resources available via thecommunication network(s) 104. The various implementations describedherein, however, are not limited to the use of any particular protocol.

The distributed system 100 includes one or more information sources 170,which include any type of external sources of information aboutentities, such as websites, databases, online stores, online mediacontent sources, and so on.

The client device 102 may be any suitable computer device that iscapable of connecting to the communication network 104(s), such as adesktop computer, a laptop computer, a tablet device, a netbook, amobile phone, a smartphone, a tablet device, a gaming device, amultimedia player device, a personal digital assistant, a set-top box,or any other device that is capable of communicating with the serversystem 106. The client device 102 typically includes one or moreprocessors, non-volatile memory such as a hard disk drive, and adisplay. The client device 102 may also include input devices such as akeyboard and/or a mouse (as shown in FIG. 3). In some implementations,the client device 140 includes one or more touch-sensitive surfaces,such as a touch screen display and/or a touchpad.

In some implementations, the client device 102 is externally connectedto a display device 108 (e.g., the client device 102 and display device108 are distinct, connected devices). In some other implementation s,the display device 108 is integrated with the client device 102 (e.g.,the display device 108 is a component of the client device 102). Thedisplay device 108 can be any display for presenting content to a user.In some implementations, the display device 108 is the display of atelevision, or a computer monitor, or an integrated display (e.g., thedisplay of a laptop computer or a smartphone) that is configured toreceive and display visual content signals from the client 102. In someimplementations, the display device 108 is a LCD screen, a tablet devicedisplay, a mobile phone display, a smartphone display, a projector, orany other type of video or graphical display system or device.

In some implementations, the client device 102 includes one or moreapplications 126. The one or more applications 126 may send informationand other communications to the server system 106, and receive andpresent information received from the server 106. In someimplementations, the applications 126 include a web browser and/or anassistant application. In some implementations, an assistant applicationobtains and presents information relevant to the user based on a varietyof signals, including, but not limited to, the user's demographicinformation, the current location of the device and/or the user, theuser's calendar, the user's contact list, the user's social network(s),the user's search history, the user's web browsing history, the device'sand/or the user's location history, the user's stated preferences, theuser's content viewing history, and the content being currentlypresented to the user.

In some implementations, the server system 106 includes a front endserver 114 that facilitates communication between the server system 106and the communication network(s) 104. The front end server 114 receivescommunications (e.g., a search query, a request for information) fromthe client 102. In some implementations, the front end server 114 isconfigured to generate a response (e.g., a web page, an information“card” or page) to the communications from the client 102, and send theresponse to the client device 102. In some implementations, the frontend server 114 is configured to send content links to content (e.g.,including the content links in a generated response).

The server 106 includes an entities information repository 122 ofinformation about or associated with entities (e.g., a database). Asused herein, an entity is any distinct existence or thing, and an entityclass is a class or category of entities. In some implementations,entity classes include, without limitation, movies, television shows,books, music album, video games, places of business (e.g., restaurants),and organizations. The information stored in the repository 122 includeslocally stored information (e.g., for a movie, the cast and crew listsstored within the repository 122 and directly retrievable from therepository 122) and/or an index of information about/associated withentities in information sources 170 (e.g., links to documents ininformation sources 170). Further details about entities information aredescribed below.

The server 106 includes a search engine module 144. The search enginemodule 144 receives search queries sent from the client 102 and passedto the search engine module 144 by the front end server 114. The searchengine module 144 processes the query (e.g., determining if an entity inthe entities information 122 satisfies the search query), and retrievesinformation from the entities information 122 responsive to the searchquery. The search engine 144 passes the responsive information to thefront end server 114, where a presentation of the responsive information(e.g., a structured information page, a “card”) is generated and sent tothe client 102 for display.

Entities information that may be stored in or indexed from the entitiesinformation repository 122 includes any information, about or associatedwith an entity, in any number of information types. An information typeis a type of information that corresponds to an aspect or attribute ofor about an entity. For example, for a movie, information types for amovie include, without limitation, the title, running time, cast, crew,content rating, review information (e.g., review scores, reviewsnippets), theater show times for the movie, purchase, rental, or onlineviewing locations, information on songs and/or music included in themovie, awards nominated and won, box office receipts information, plotsynopsis or summary, trivia, images (e.g., cast photos, advertisingimages, posters) associated with the entity, and so on. It should beappreciated that the list of movie information types above is merelyexemplary, and may include more or less types than listed, as well asmore coarse-grained or fine-grained types than listed. For example, theinformation types for a movie may include more fine-grained typesassociated with the movie's crew, such as director, cinematographer,producer, screenplay writer, composer, and so on.

In some implementations, an entity class is associated with a set ofcandidate information types. Entity information for any instance of theentity class includes information corresponding to information typesdrawn from the set of candidate information types for the entity class.Thus, for example, the set of candidate information types for movies isdifferent from the set of candidate information types for televisionshows (e.g., episodes would be an information type for television showsbut not movies; box office receipts information would be an informationtype for movies but not television shows). In some implementations theset of candidate information types for an entity class is predefined. Insome implementations, information types may be added to or removed froma predefined set of candidate information types (e.g., by human editorsor administrators).

In some implementations, the set of candidate information types for anentity class includes a subset of information types that is a default or“standard” set of information types for the entity class. A structuredinformation page for an entity includes information in the defaultsubset of information types; a structured information page for an entityof an entity class is predefined to include information in the defaultsubset of information types for the entity class. For example,structured information pages for movies, across the board, include thetitle, running time, and the cast. In some implementations, just as theset of candidate information types differ by entity class, the defaultsubset of information types also differ by entity class.

The structured information page for an entity includes informationcorresponding to information types in addition to those in the defaultsubset. In some implementations, these additional information types areselected by the server system 106. In some implementations, the serversystem 106 selects the additional information types based on historicaluser activity history. The server system 106 includes an informationtypes module 150 that analyzes the historical user activity, stored inthe user activity history 120, to determine which information types,other than those in the default set, satisfy one or more importancecriteria. These importance criteria gauge importance of an informationtype for an entity from the perspective of users.

In some implementations, the user activity history 120 includes thesearch query histories of users (e.g., user search logs), which list thequeries that users have made. By analyzing the query histories of users,the information types module 150 can determine which information typesusers want information for with respect to an entity, and thus areimportant to users. For query histories, the importance criteriainclude, for example, search popularity all-time, search popularity overa predefined time window or over a rolling time window, presence ofsearch spikes, and so on. For example, if the information types module150 identifies a high number of queries for movie songs in the useractivity history 120, the information type module 150 may determine thatthe song(s) for a movie is an important information type. Thus, theinformation types module 150 determines which information types areimportant (e.g., ranks the information types in accordance with theimportance criteria), and selects one or more (in some implementations,up to a predefined number, e.g., five) of the “most important” of theinformation types (e.g., those ranked highest in accordance with theimportance criteria) for inclusion in structured information pages alongwith the default set of information types. This selection is dynamic inthat the selection is based on user activity history, which isconstantly growing and changing as users perform activities (e.g., makesearch queries).

In some implementations, the information types module 150 dynamicallyselects information types by entity class. In some implementations, theinformation types module 150 further dynamically selects informationtypes per entity. For example, the movie song information type may notbe ranked high enough to be selected for inclusion in structuredinformation pages for movies across the board. However, if theinformation types module 150 identifies a relatively high number ofqueries for the song for a particular movie, the song information typemay be selected for inclusion in the structured information page forthat particular movie.

In some implementations, information, associated with an entity,corresponding to an information type that is in the default set or isdynamically selected is omitted from the structured information page andthe information card if that information is not available. For example,the structured information page and the information card for a moviethat is in theaters (or more specifically, in theaters proximate to thelocation of the client device 102) omits theaters showing the movie andcorresponding show times, whereas the structured information page andthe information card for a movie that is in theaters may includetheaters showing the movie and corresponding show times.

A user of the client device 102 may, from within an application 126,input a search query. The client device 102 sends the search query tothe server system 106. The search engine 144 processes the query. If thesearch engine 144 determines that the search query is a query forinformation associated with an entity, the search engine 144 retrievesentity information responsive to the query from the entities information122.

In some implementations, the server system 106, in response to thequery, generates an information “card” for the entity, and sends thatcard to the client 102. At the client 102, an application 126 displaysthe information card. In some implementations, the information “card”includes at least some of the information associated with the entitythat corresponding to the default set of information types, andoptionally information associated with the entity corresponding to oneor more dynamically selected information types. The information “card”also includes an affordance. In some implementations, in response to auser activation of the affordance (e.g., by clicking or performing agesture on the affordance), the application 126 sends a request to theserver system 106 for a structured information page associated with theentity. The server system 106 generates the structured information pageand sends the page to the client 102. The application 126 displays thestructured information page, which includes additional informationcorresponding to the default set of information types and additionalinformation corresponding to dynamically selected information types;activating the affordance “expands” the information card to thestructured information page.

In some other implementations, the structured information page is sentto the client 102 along with the information card in response to thequery. In response the user activation of the affordance, theapplication 126 displays the structured information page (withoutneeding the separate request for the structured information page).

In some other implementations, in response to the query, the serversystem 106 generates the structured information page, omitting theinformation card, and sends the structured information page to theclient 102. The application 126 displays the structured informationpage, omitting the information card.

In some implementations, the structured information page, as well as theinformation card, has respective regions in which respective informationassociated with the entity are displayed. Further details regarding thestructured information page and the information card are describedbelow.

In some implementations, the server system 106 determines a primarycolor and a secondary color associated with an entity. The primary colorand secondary color may be used as background colors in the structuredinformation page and the information card. The server system 106 (e.g.,an entity colors module 250, FIG. 2) determines the colors based on animage (e.g., advertisements, cover art, trade dress) associated with theentity. In some implementations, the server system 106 determines aprimary color based on the image associated with the entity anddetermines a secondary color based on the primary color (e.g., thesecondary color as a different shade of the primary color). Furtherdetails regarding primary colors and secondary colors in the structuredinformation page and the information card, including methods fordetermining the primary color and the secondary color, are describedbelow.

FIG. 2 is a block diagram illustrating a server system 106, inaccordance with some implementations. The server system 106 typicallyincludes one or more processing units (CPU's) 202, one or more networkor other communications interfaces 208, memory 206, and one or morecommunication buses 204 for interconnecting these components. Thecommunication buses 204 optionally include circuitry (sometimes called achipset) that interconnects and controls communications between systemcomponents. Memory 206 includes high-speed random access memory, such asDRAM, SRAM, DDR RAM or other random access solid state memory devices;and may include non-volatile memory, such as one or more magnetic diskstorage devices, optical disk storage devices, flash memory devices, orother non-volatile solid state storage devices. Memory 206 mayoptionally include one or more storage devices remotely located from theCPU(s) 202. Memory 206, including the non-volatile and volatile memorydevice(s) within memory 206, comprises a non-transitory computerreadable storage medium. In some implementations, memory 206 or thenon-transitory computer readable storage medium of memory 206 stores thefollowing programs, modules and data structures, or a subset thereof,including an operation system 216, a network communication module 218, afront-end server module 114, a search engine module 144, user activityhistory 120, entities information 122, and an entity colors module 250.

The operating system 216 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 218 facilitates communication withother devices via the one or more communication network interfaces 208(wired or wireless) and one or more communication networks, such as theInternet, other wide area networks, local area networks, metropolitanarea networks, and so on.

The front-end server module 114 is configured to receive communications(e.g., search queries, requests) from clients 102, and generating andsending responses (e.g., information cards, structured informationpages), including formatting information and pages and cards that serveas the responses, to the clients 102. The front-send server module 114also passes queries received from clients 102 to the search enginemodule 144 and receives information responsive to the search queriesfrom the search engine module 144.

The search engine module 144 is configured to process search queries,including retrieving information responsive to search queries from theentities information 122.

The user activity history 120 stores historical user activity, includinga history of user search queries 240 (e.g., search query logs).

The entities information 122 stores information and/or links/pointers toinformation associated with entities.

The entity colors module 250 is configured to determine primary andsecondary colors for entities.

The information types module 150 is configured to analyze the useractivity history 120 and select information types from the candidateinformation types 252 that are determined to be important to users basedon the analysis of the user activity history.

The candidate information types 252 stores sets of candidate informationtypes by entity class and default sets of information types by entityclass, as well as which information types are associated with a primarycolor and which information types are associated with a secondary color.

The entity colors 254 stores primary and secondary colors for respectiveentities, as determined by the entity colors module 250.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and each of the modules orprograms corresponds to a set of instructions for performing a functiondescribed above. The set of instructions can be executed by one or moreprocessors (e.g., the CPUs 202). The above identified modules orprograms need not be implemented as separate software programs,procedures or modules, and thus various subsets of these modules may becombined or otherwise re-arranged in various implementations. In someimplementations, memory 206 may store a subset of the modules and datastructures identified above. Furthermore, memory 206 may storeadditional modules and data structures not described above.

Although FIG. 2 shows a server system, FIG. 2 is intended more asfunctional description of the various features which may be present in aset of servers than as a structural schematic of the implementationsdescribed herein. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated. For example, some items (e.g., operatingsystem 216 and network communication module 218) shown separately inFIG. 2 could be implemented on single servers and single items could beimplemented by one or more servers. The actual number of servers used toimplement the server system 106 and how features are allocated amongthem will vary from one implementation to another, and may depend inpart on the amount of data traffic that the system must handle duringpeak usage periods as well as during average usage periods.

FIG. 3 is a block diagram illustrating a client device 102 in accordancewith some implementations. The client device 102 typically includes oneor more processing units (CPU's) 302, one or more network or othercommunications interfaces 304, memory 306, and one or more communicationbuses 310, for interconnecting these components. The communication buses310 optionally include circuitry (sometimes called a chipset) thatinterconnects and controls communications between system components. Theclient device 102 may also include a user interface comprising a displaydevice 108 and one or more input devices (e.g., a keyboard, mouse orother pointing device, touchpad, touch screen, remote control, gamecontroller) 312. Memory 306 includes high-speed random access memory,such as DRAM, SRAM, DDR RAM or other random access solid state memorydevices; and may include non-volatile memory, such as one or moremagnetic disk storage devices, optical disk storage devices, flashmemory devices, or other non-volatile solid state storage devices.Memory 306 may optionally include one or more storage devices remotelylocated from the CPU(s) 302. Memory 306, or alternatively thenon-volatile memory device(s) within memory 306, comprises anon-transitory computer readable storage medium. In someimplementations, memory 306 or the computer readable storage medium ofmemory 306 store the following programs, modules and data structures, ora subset thereof, including operation system 314, network communicationmodule 316, and applications 126.

The operating system 314 includes procedures for handling various basicsystem services and for performing hardware dependent tasks.

The network communication module 316 facilitates communication withother devices via the one or more communication network interfaces 304(wired or wireless) and one or more communication networks, such as theInternet, other wide area networks, local area networks, metropolitanarea networks, and so on.

The client device 102 includes one or more applications 126. In someimplementations, the applications 126 include a browser application126-1 and an assistant application 126-2. The browser application 126-1(e.g., a web browser) displays web pages (e.g., a search page with asearch box for entering a search query, a page or card of informationassociated with an entity) and other pages and content. The assistantapplication (which may also be referred to as an “intelligent personalassistant” application) 126-2 displays information that is relevant tothe user at the moment and perform tasks or services relevant to theuser or requested by the user. In some implementations, the assistantapplication includes a search interface, in which the user may enter asearch query. The applications 126 are not limited to the applicationsdiscussed above. For example, applications 126 may include a searchapplication (not shown).

In some implementations, the client device 102 includes a locationmodule (not shown) for determining the location of the client device102, and optionally a location device (e.g., GPS device or component)(not shown). The location module determines the location of the clientdevice 102 using one or more techniques (e.g., GPS positioning inconjunction with the location device, cell tower triangulation, Wi-Fipositioning). The location may be sent to the server system 106 as partof a search query or information request.

Each of the above identified elements may be stored in one or more ofthe previously mentioned memory devices, and each of the modules orprograms corresponds to a set of instructions for performing a functiondescribed above. The set of instructions can be executed by one or moreprocessors (e.g., the CPUs 302). The above identified modules orprograms (i.e., sets of instructions) need not be implemented asseparate software programs, procedures or modules, and thus varioussubsets of these modules may be combined or otherwise re-arranged invarious implementations. In some implementations, memory 306 may store asubset of the modules and data structures identified above. Furthermore,memory 306 may store additional modules and data structures notdescribed above.

Although FIG. 3 shows a client device, FIG. 3 is intended more asfunctional description of the various features which may be present in aclient device than as a structural schematic of the implementationsdescribed herein. In practice, and as recognized by those of ordinaryskill in the art, items shown separately could be combined and someitems could be separated.

FIG. 4A illustrates an example information card in accordance with someimplementations. FIG. 4A shows a search box 402 in an application (e.g.,an assistant application, a browser, a search application), with a queryfor “guardians of the galaxy.” The client 102 sends the query to theserver system 106. The server system 106 determines that the querymatches the movie entity “Guardians of the Galaxy,” generates aninformation card 404 with information associated with “Guardians of theGalaxy,” and sends the card 404 to the client 102. The card 404 isdisplayed at the client 102.

The card 404 includes multiple regions, each displaying some informationassociated with the movie “Guardians of the Galaxy.” For example, thecard 404 includes an image gallery region 406 that includes one or moreimages associated with “Guardians of the Galaxy.” Title region 408 showsthe movie title, “Guardians of the Galaxy,” as well as other informationsuch as the content rating, running time, genre, and release year. Aregion 410 includes a link to an online video of the trailer for“Guardians of the Galaxy.”

As shown in FIG. 4A, the title region 408 has a primary color associatedwith “Guardians of the Galaxy” as determined by the server system 106(e.g., by entity colors module 250) as its background color, and region410 has a secondary color associated with “Guardians of the Galaxy” asdetermined by the server system 106 as its background color. In FIG. 4A,the secondary color is a darker shade of the primary color. The primarycolor and secondary color is determined by the server system 106 basedon an image associated with “Guardians of the Galaxy” (e.g., image 407of a poster for “Guardians of the Galaxy”).

The card 404 also includes review scores region 412 that includes useror critic review scores 412, showtimes region 414 that includes theaterlocations and showtimes for “Guardians of the Galaxy” (e.g., locationsand showtimes proximate to the client device 102), a region 416 showingthe cast of “Guardians of the Galaxy,” and an affordance 418 forexpanding the card 404 to a structured information page associated with“Guardians of the Galaxy.”

In response to activation of the affordance 418, the client device 102displays a structured information page 420 associated with “Guardians ofthe Galaxy,” which is depicted in FIG. 4B. The page 410 includes thesame regions as in the card 404, such as regions 406, 408, 410, 412,414, and 416, and additional regions with information associated with“Guardians of the Galaxy.” The page 420 includes a region 422 showing aplot synopsis or summary, a region 424 showing critic review information(e.g., review highlights, review snippets) and a region 426 showing thecrew. In some implementations, the page 420 also includes a region 428showing entities related to “Guardians of the Galaxy” (e.g., entitiesthat users who search for “Guardians of the Galaxy” tend to also searchfor, based on the query history 240).

As described above, information types included in an information cardand a structured information page are either part of a default set orare dynamically selected. For example, the information in the card 404(title, content rating, running time, genre, release year, trailer,review scores, showtimes, and cast) are part of the default set. In thestructured information page, aside from the information common with thecard 404, other information that is part of the default set include thecrew 426. Dynamically selected information includes, for example, thesynopsis (in region 422) and critic review information (in region 424).

In some implementations, an information card is structured to fitentirely on one screen of a client device. In contrast, the length of astructured information page need not be constrained by display size(i.e., the size of the display 108) and, as shown in FIG. 4B, mayrequire scrolling of the display to reveal all information includedtherein.

As shown in FIG. 4A and FIG. 4B, the title region 408 has a primarycolor as the background color, and the region 410 has a secondary coloras the background color. In the structured information page 420, thecast region 416 has the primary color as the background color, and thecrew region 426 has the secondary color as the background color. In someimplementations, the server system 106 defines particular regions in thecard 404 and/or the page 420 to have the primary color as backgroundcolor and other regions to have the secondary color as the backgroundcolor, based on the information displayed in the respective region. Forexample, the server system 106 defines the background color for thetitle region 408 to be the primary color (e.g., a shade of purplematching a dominant color in image 407), and the background color forthe region 410 with the link to the trailer to be the secondary color (adifferent shade of the primary color), and these two regions are placedadjacent to each other within the card 404 and page 420. Similarly, forthe page 420, the server system 106 defines the background color for thecast region 416 to be the primary color, and the background color forthe crew region 426 to be the secondary color, and these two regions areplaced adjacent to each other within the page 420. The front end servermodule formats the information card 404 and the structured informationpage 420 in accordance with these background color definitions. In someimplementations, pairs of regions that have the primary color andsecondary color, respectively, and placed adjacent to each other, arepredefined (e.g., title and trailer, cast and crew).

FIG. 5 illustrates another example information card associated with anentity in accordance with some implementations. FIG. 5 illustrates aninformation card 500 associated with the television show “House ofCards.” The card 500 includes a title region 502 that includes the showtitle and one or more images associated with the show, a region 504 thatshows review scores, the network in which the show is shown, and awardsassociated with the show, a region 506 with a link or affordance toactivate reminders to the user about new episodes of the show, a region508 listing episodes of the show, a region 510 with the cast of theshow, and an affordance 512 to expand the card 500 into a structuredinformation page associated with the show.

The information types included in the card 404 and the card 505 havedifferences due to their being associated with different entity classes.For example, the card 404, which is associated with a movie, includesshowtimes, but not an episode list or a network or a new episodesreminder link/affordance. The card 500, which is associated with atelevision show, includes an episode list, a network, and a new episodesreminder link/affordance, but not showtimes.

An information card may include information corresponding to dynamicallyselected information types. For example, the award information in region504 is dynamically selected for inclusion in the card 500 based on useractivity (e.g., search query history).

FIG. 6 illustrates another example structured information pageassociated with an entity in accordance with some implementations. FIG.6 illustrates a structured information page 600 associated with themovie “Caddyshack.” The structured information page 600 includes animage gallery region 602, a title region 604 that includes the movietitle, content rating, release year, genre, and running time, a region606 that includes user or critic review scores, a region 608 thatincludes locations for watching or purchasing the movie online, a region610 with a summary or synopsis of the movie, a region 612 with therelease date, director, sequel, budget, and screenplay writers, a region614 with the cast, and region 616 with related entities. Because themovie “Caddyshack” is a movie that is not currently in theaters, theregion for showtimes (e.g., region 414, FIG. 4B) is replaced by a region608 with information on services or content providers where the user canstream or download the movie as a purchase or rental and/or purchase orrent a copy of the movie (e.g., purchase or rent a DVD or Blu-ray diskof the movie).

As described above, search spikes are considered when analyzing theimportance of an information type. Structured information page 600 is anexample of a structured information page in which one or moreinformation types are included based on search spikes. For example,searches for Harold Ramis, who passed away in February 2014, may haveincreased relatively significantly in the aftermath of Ramis' death.Based on this search spike, the server system 106 may determine that,for movies in which Harold Ramis was involved, information types thatmention Harold Ramis are selected for inclusion in the structuredinformation page and/or the information card. In the case of thestructured information page 600, the director and screenplay writersinformation types, which both have Harold Ramis, are included in theregion 612.

In some implementations, a respective region includes informationcorresponding to a single information type (e.g., the cast region 416includes just the cast information). In some other implementations, arespective region includes information corresponding to a singleinformation type (e.g., the cast region 416 includes just the castinformation) or multiple information types (e.g., the title region 408includes the tile, content rating, running time, genre, and releaseyear).

In some implementations, the distinction between regions is apparent(e.g., there are distinct separator lines displayed in the card and/orpage to distinguish the regions). In some implementations, thedistinction between regions is less apparent (e.g., no distinctseparator lines displayed). In some implementations, there are apparentdistinctions between some pairs of adjacent regions and less apparentdistinction between regions between other pairs of adjacent regions(e.g., separator lines displayed between some adjacent region pairs butnot other adjacent region pairs).

In some implementations, a region may be any suitable size, asdetermined by the server system 106. Thus, a region may be as small asneeded to fit one line of text, or may be as large as needed to fit along list or information corresponding to multiple respectiveinformation types. In some implementations, a respective region isscrollable vertically and/or horizontally (e.g., a scrollable imagegallery, a scrollable list of cast members).

It should be appreciated that structured information pages 420 and 600and information card 500 have different primary colors and secondarycolors. This is due to their being determined by the server system 106(e.g., entities color module 250) based on different images (e.g.,different posters associated with the respective entities). Of course,it is possible that different entities may have the same associatedprimary color and secondary color.

Also, in some implementations, the secondary color is not used. Forexample, the secondary color is not used in information card 500 andstructured information page 600.

In accordance with some implementations, a method for displaying astructured entity information page is performed at an electronic device(e.g., a client device 102) having a display, one or more processors,and memory. In some implementations, a computer system or electronicdevice with a display, one or more processors, and memory includesinstructions for performing the method stored in the memory in one ormore programs. In some implementations, a non-transitory computerreadable storage medium has instructions for performing the methodstored in one or more programs in the computer readable storage medium,and the instructions, when executed by a computer system or electronicdevice with a display, causes the computer system or electronic deviceto perform the method.

The device receives from a server a structured information pageassociated with an entity. The client device 102, for example, receivesa structured information page (e.g., page 420, page 600) from the serversystem 106.

The device displays the structured information page. For example, theclient device 102 displays the structured information page (e.g.,structured information page 420, structured information page 600) on thedisplay 108.

The structured information page includes information structuredaccording to information types associated with the entity. Theinformation types include a first set of predefined information typesand a second set of dynamically selected information types. The secondset of dynamically selected information types is selected from a set ofcandidate information types for the entity in accordance with relativeimportance of the information types in the second set as determined bythe server based on historical user activity logged by the serverrelated to one or more of the entity and an entity class associated withthe entity. For example, the information in page 420 or 600 isstructured by information type; particular regions of the page includeinformation corresponding to respective information types. Theinformation included in a structured information page includeinformation corresponding to one or more information types that aredefault or “standard” for the entity and/or the entity class andinformation corresponding to one or more information types that aredynamically selected with respect to the entity and/or the entity class.The dynamically selected information types are selected from a set ofcandidate information types (e.g., the dynamically selected informationtypes are a subset of the set of candidate information types). Theserver system 106 dynamically selects information types from thecandidate set in accordance with relative importance of the informationtypes as determined by the server system 106 based on historical useractivity logged by the server related to one or more of the entity andan entity class associated with the entity (e.g., search query historyof users in the aggregate, click logs in the aggregate).

In some implementations, the historical user activity includes searchactivity by users. For example, the user activity history 120 includesuser search activity (e.g., search query history). The information typesmodule 150 analyzes the user search activity in the aggregate to rankinformation types by how often those information types are searched forand/or are otherwise associated with relatively high user activityvolume (e.g., high volume of queries, high volume of clicks).

In some implementations, the historical user activity includes useractivity over a predefined time period. The historical user activity maybe analyzed over a predefined time period or window (e.g., year to date,last year, last three months, etc.). The time period or window may beset to a specific date or a rolling window.

In some implementations, the historical user activity includes spikes inthe user activity. Spikes in user activity, such as search spikes, maybe indicative of importance of an information type with respect to aparticular entity or related entities (e.g., movies in a recently-passedactor's filmography, popularized song for a movie).

In some implementations, the entity is an instance of the entity class.An entity class is a category of entities (e.g., movies, televisionshows, books, etc.), and an entity is an instance of the category. Insome implementations, the entity class is one of: movie, televisionshow, book, and business. For example, in FIGS. 4A-4B and 6, “Guardiansof the Galaxy” and “Caddyshack” are respective instances of the moviesentity class. In FIG. 5, “House of Cards” is an instance of thetelevision shows entity class. Additional examples of entity classesinclude video games, music albums, and organizations.

In some implementations, the predefined set of information types ispredefined for the entity class. The default set of information typesare defined per entity class. For example, movies have a differentdefault set of information types than television shows, books, etc. Thedefault sets of information types for different entity classes may haveinformation types in common. For example, the default sets for moviesand television shows may both have the cast as a default informationtype.

In some implementations, displaying the structured information pageincludes displaying the structured information page with a primary colorand a secondary color associated with the entity as determined by theserver. For example, the structured information page 420 is displayedwith the primary color the background color for region 408, and thesecondary color as the background color for region 410. The primarycolor and the secondary color are determined by the server system 106(e.g., by entity colors module).

In some implementations, the secondary color is associated with theprimary color. In some implementations, the secondary color is adifferent shade (e.g., darker shade) of the primary color. For example,the secondary color in region 410 is a darker shade of the primary colorin region 408.

In some implementations, displaying the structured information page witha primary color and a secondary color includes displaying respectiveregions of the structured information page with respective backgroundcolors, wherein the background color of a respective region is theprimary color, the secondary color, or a default background color. Forexample, structured information page 420 is displayed with the primarycolor as background color in regions 408 and 416, the secondary color asbackground color in regions 410 and 426, and a default background color(e.g., white) in the other regions.

In some implementations, a respective background color of a first regionof the structured information page is the primary color; and arespective background color of a second region, distinct from the firstregion, of the structured information page is the secondary color. Forexample, structured information page 420 is displayed with the primarycolor as background color in regions 408 and 416, and the secondarycolor as background color in regions 410 and 426.

In some implementations, the first region and the second region areadjacent to each other. For example, in the structured information page420, regions 408 and 410 are adjacent to each other, and regions 416 and426 are adjacent to each other.

In some implementations, displaying the structured information page witha primary color and a secondary color associated with the entity asdetermined by the server comprises associating a first subset of theinformation types with the primary color and a second subset of theinformation types with the secondary color. For example, in thestructured information page 420, the title and cast are associated withthe primary color, and the trailer and the crew are associated with thesecondary color.

In some implementations, the primary color is derived from an image(e.g., poster, advertising, image of the business (e.g., exterior,interior, trade dress)) associated with the entity. The primary colorand the secondary color, for information card 404 and structuredinformation page 420, are determined based on the image 407 of theposter.

In some implementations, the device, prior to displaying the structuredinformation page, receives from the server an information card, displaysthe information card, where the information card includes a subset ofthe information structured according to information types associatedwith the entity and an affordance to activate display of the structuredinformation page; receives a user input activating the affordance, andin response to activation of the affordance, displays the structuredinformation page (e.g., the primary and secondary colors are used asaccent colors on the card). For example, the client device 102 receivesan information card (e.g., card 404) as a response to the search query.The client device 102 displays the card, which includes an affordance(e.g., affordance 418) to expand the card. In response to a user inputactivating the affordance (e.g., a click, a tap gesture), the structuredinformation page (e.g., page 420) is displayed. In some implementations,the primary and secondary colors are also used as background colorsand/or accent colors in the information card.

In some implementations, displaying the structured information pageincludes displaying the information in a plurality of regions within thestructured information page, wherein a first subset of the regionscorrespond to the first set of predefined information types, and asecond subset of the regions correspond to a second set of dynamicallyselected information types. The structured information page, forexample, includes multiple regions. Some of these regions includeinformation corresponding to information types in the default set ofinformation types, and other regions include information correspondingto dynamically selected information types.

In accordance with some implementations, a method for formatting fordisplay on a client device a structured information page associated witha specific entity is performed at computer system (e.g., a server system106) having one or more processors and memory. In some implementations,a computer system with one or more processors and memory includesinstructions for performing the method stored in the memory in one ormore programs. In some implementations, a non-transitory computerreadable storage medium has instructions for performing the methodstored in one or more programs in the computer readable storage medium,and the instructions, when executed by a computer system, causes thecomputer system or electronic device to perform the method.

The system receives a request from the client device for an informationpage associated with the specific entity. The server system 106, forexample, receives a search query or a request for a structuredinformation page (e.g., when the user activates the affordance 418 or512) for an entity from a client device 102.

The system identifies automatically and without user interventioninformation associated with the specific entity and respectiveinformation types associated with the information. For example, thesearch engine module 144 identifies the entity and information, ofrespective information types, associated with the entity.

The system formats automatically and without user intervention thestructured information page with a plurality of regions. For example,the front end server module 114 generates a page (e.g., an informationcard 404, a structured information page 420) associated with the entity,with multiple regions for displaying the information associated with theentity.

The system populates automatically and without user intervention thestructured information page with the information associated with thespecific entity, including organizing the information such that each ofthe plurality of regions is populated with information associated with arespective information type. The front end server module 114 populatesthe page (e.g., the information card 404, the structured informationpage 420) associated with the entity with the information associatedwith the entity, with information of respective information types goinginto respective regions.

The system determines a primary color and a secondary color associatedwith the specific entity. For example, the entity colors module 250determines a primary and a secondary color associated with the entity.

The system configures respective regions of the plurality of regions ofthe structured information page with respective accent colors selectedfrom either the primary color or the secondary color, such that thestructure information page includes both the primary color and thesecondary color. For example, the front end server module 114 configuresone or more particular regions of the page to have the primary color asthe background color (e.g., regions 408 and 416 in structuredinformation page 420), and one or more particular regions of the page tohave the secondary color as the background color (e.g., regions 410 and426 in structured information page 420).

The system transmits the resulting structured information page to theclient device for display by the client device. The server system 106transmits the resulting page, with the primary and secondary colors, tothe client device 102 for display at the client device 102.

In some implementations, the secondary color is associated with theprimary color. In some implementations, the secondary color is adifferent shade of the primary color (e.g., darker shade). For example,the secondary color in region 410 is a darker shade of the primary colorin region 408.

In some implementations, configuring respective regions of the pluralityof regions with respective background colors includes associatingrespective regions of the structured information page with respectivebackground colors, wherein the background color of a respective regionis the primary color, the secondary color, or a default backgroundcolor. For example, the front end server module 114 associatesrespective regions in the structured information page 420 with theprimary color as background color (e.g., in regions 408 and 416), thesecondary color as background color (e.g., in regions 410 and 426), or adefault background color (e.g., white in the other regions).

In some implementations, a respective background color of a first regionof the structured information page is the primary color; and arespective background color of a second region, distinct from the firstregion, of the structured information page is the secondary color. Forexample, structured information page 420 has the primary color asbackground color in regions 408 and 416, and the secondary color asbackground color in regions 410 and 426.

In some implementations, the first region and the second region areadjacent to each other. For example, in the structured information page420, regions 408 and 410 are adjacent to each other, and regions 416 and426 are adjacent to each other.

In some implementations, displaying the structured information page witha primary color and a secondary color associated with the entity asdetermined by the server includes associating a first subset of theinformation types with the primary color and a second subset of theinformation types with the secondary color. For example, in thestructured information page 420, the title and cast are associated withthe primary color, and the trailer and the crew are associated with thesecondary color.

In some implementations, the primary color is derived from an imageassociated with the entity (e.g., poster, image of the business (e.g.,exterior, interior, trade dress)). The primary color and the secondarycolor, for information card 404 and structured information page 420, aredetermined based on the image 407 of the poster.

In some implementations, each entity class has an associated list ofinformation types (e.g., stored in candidate information types 252),some of which are predefined for the entity class as a whole as defaultand some of which are dynamically selected or identified for aparticular entity of that class as popular or important. In someimplementations, the type information also indicates pairing of primaryand secondary types (so the structured information pages and informationcards can be generated with appropriately paired information forrespective entity classes). For example, for movies, titles and trailersare paired (title is primary, trailer is secondary), and cast and creware paried (cast is primary, crew is secondary).

In some implementations, some of the information types are associatedwith a primary action, some with a secondary action, and others with noaction. Here, “action” refers to an action performed by the front endmodule 150 to generate the corresponding web page. For example, aprimary action is formatting the region in which the associatedinformation type is included to have the primary color as the backgroundcolor; and a secondary action is formatting the region in which theassociated information type is included to have the secondary color asthe background color.

In some implementations, user activity information includes queryhistory (e.g., search query logs) (relative to entity classes andspecific entities), and other user activity information that can belogged, including web site activity for entity classes and specificentities, e.g., user web page traversals and clicks on movie, book, TV,car or restaurant review web pages.

As described above, information types are dynamically selected based onuser activity history. As the user activity history continues toaccumulate and/or change over time, the selected information types maychange. Thus, the information cards and pages adapt over time to includeinformation types that users feel are important and/or useful.

In some implementations, movie showtimes/locations and onlinestreaming/watching/purchase services or locations are personalized tothe user of the client device 102, based on, for example, the locationof the client device 102, which sites or services are accessible fromthe client device 102, which sites or services the user of the clientdevice 102 has a subscription to, and so on.

FIGS. 7A-7B illustrate a method 700 of displaying a structuredinformation page in accordance with some implementations. In someimplementations, the method 700 is performed at an electronic device(e.g., client device 102) with one or more processors, memory, and adisplay device. In some implementations, a non-transitory computerreadable storage medium stores one or more programs that includeinstructions which, when executed by an electronic device, causes theelectronic device to perform the method 700.

The electronic device receives (702) from a server a structuredinformation page associated with an entity of an entity class. Clientdevice 102, for example, receives a structured information page fromserver 106. The structured information page may be, for example, aninformation page (e.g., information page 420 or 600. The structuredinformation page is associated with an entity of an entity class. Forexample, the structured information page may be associated with a movieor a TV show (the entity class being movies and TV shows, respectively).

The electronic device displays (704) the structured information page.The structured information page includes information structuredaccording to information types associated with the entity class (706),the information types include a first set of predefined informationtypes and a second set of dynamically selected information types (708),and the second set of dynamically selected information types is selectedfrom a set of candidate information types for the entity class inaccordance with relative importance of the information types in thesecond set as determined by the server based on historical user activitylogged by the server related to one or more of the entity and the entityclass (710). The client device 102, for example, displays theinformation page 420 or 600. The structured information page includesinformation organized according to the types of the information. Forexample, if the structured information page is for a movie, theinformation includes information types such as show times, cast, crew,meta-review scores, quotes from reviews, and so on, and the structuredinformation page is structured to organize the information according tothe types (e.g., show times in one section, the cast in another section,and so forth). The information types include some that are predefinedand others that are dynamically selected. The dynamically selectedinformation types are selected by the server 106 (e.g., the informationtypes module 150) from a set of candidate information types 252associated with the entity class based on relative importance of thecandidate information types for the entity class, where the relativeimportance is determined by the server 106 (e.g., the information typesmodule 150) based on past user activity 120 logged by the server 106with respect to the entity and/or the entity class.

In some implementations, the historical user activity includes searchactivity by users. The past user activity 120 may include, for example,search queries by users for the entity and/or the entity class.

In some implementations, the historical user activity includes useractivity over a predefined time period. The past user activity 120 mayinclude user activity over a particular time period. For example, theserver 106 may consider past search queries by users over the past week,over the past month, or the like.

In some implementations, the historical user activity includes spikes inthe user activity. For example, search queries for an entity maysuddenly increase, indicating a heightened demand for, or popularity of,particular information (e.g., information on the entity).

In some implementations, the entity is an instance of the entity class.For example, a movie entity is an instance of the movies entity class.

In some implementations, the entity class is one of: movie, televisionshow, book, and business. For example, the structured information pagemay be displayed for a movie, a TV show, a book, or a business (e.g., arestaurant, a bar, a service business, etc.).

In some implementations, the predefined set of information types ispredefined for the entity class. The predefined information types arepredefined for the entity class. Different entity classes may havedifferent sets of predefined information types. For example, the set ofpredefined information types for a movie may include show times, cast,crew, and release date. The set of predefined information types for a TVshow may include episodes, cast, and crew. The set of predefinedinformation types for a business may include address, business hours,and contact information.

In some implementations, displaying the structured information pageincludes displaying (712) the structured information page with a primarycolor and a secondary color associated with the entity as determined bythe server. The structured information page is displayed with multiplecolors, including a primary color and a secondary color. The primarycolor and secondary color are colors, determined by the server 106(e.g., the entity colors module 250), as associated with the entity. Insome implementations, the server 106 determines the primary andsecondary colors for an entity based on content associated with theentity (e.g., images, online documents, etc.).

In some implementations, the secondary color is associated with theprimary color. In some implementations, the secondary color is adifferent shade of the primary color. For example, the secondary colormay be a lighter or darker shade of the primary color.

In some implementations, displaying the structured information page witha primary color and a secondary color includes displaying (714)respective regions of the structured information page with respectivebackground colors, where the background color of a respective region isthe primary color, the secondary color, or a default background color.The structured information page 420 or 600 includes one or more regions,sections, or areas, where each region/area/section has a respectivebackground color. The background color for a respective region may bethe primary color, the secondary color, or a default background color.

In some implementations, a respective background color of a first regionof the structured information page is the primary color, and arespective background color of a second region, distinct from the firstregion, of the structured information page is the secondary color. Insome implementations, the first region and the second region areadjacent to each other.

In some implementations, displaying the structured information page witha primary color and a secondary color associated with the entity asdetermined by the server includes associating (716) a first subset ofthe information types with the primary color and a second subset of theinformation types with the secondary color. The predefined informationtypes are associated with the primary color and may be displayed inregions that have the primary color as the background color. Thedynamically selected information types are associated with the secondarycolor and may be displayed in regions that have the secondary color asthe background color. In some implementations, any information type maybe displayed in a region that has a default background color, even ifthat information type is associated with the primary color or thesecondary color.

In some implementations, the primary color is derived from an imageassociated with the entity. The server 106 may determine the primarycolor from images associated with the entity. For example, for a movie,the server 106 may analyze images (e.g., movie poster art) associatedwith the movie and identify a particular color from the images as theprimary color.

In some implementations, displaying the structured information pageincludes displaying (718) the information in a plurality of regionswithin the structured information page, where a first subset of theregions corresponds to the first set of predefined information types,and a second subset of the regions corresponds to a second set ofdynamically selected information types. The information page 420 or 600includes multiple regions (e.g., regions 406, 408, 410, 412, etc. instructured information page 420; regions 602, 604, 606, 608, etc. instructured information page 600). Some of the regions in the structuredinformation page are assigned to displaying information for thepredefined information types, and some other regions in the structuredinformation page are assigned to displaying information for thedynamically selected information types.

In some implementations, the electronic device, prior to displaying thestructured information page (720), receives (722) from the server aninformation card; displays (724) the information card, where theinformation card includes a subset of the information structuredaccording to information types associated with the entity and anaffordance to activate display of the structured information page;receives (726) a user input activating the affordance; and in responseto activation of the affordance, displays (728) the structuredinformation page. The electronic device may display an information card(e.g., information card 404 or 500) before displaying the structuredinformation page. The information card includes a subset of theinformation that would be displayed in the structured information page,and serves as a preview of the information about the entity for whichthe user is seeking information. The information card also includes anaffordance (e.g., affordance 418 or 512) to activate display of thestructured information page. The user may activate the affordance with auser input (e.g., a tap gesture on the affordance). In response to theactivation of the affordance, the structured information page isdisplayed (e.g., the information card is expanded to the structuredinformation page), as in step 704. In some implementations, the steps720-728 may be performed prior to steps 702 and 704, between steps 702and 704, or interspersed with steps 702 and 704.

FIGS. 8A-8B illustrate a method 800 of generating and providing astructured information page in accordance with some implementations. Insome implementations, the method 800 is performed at server system(e.g., server 106) with one or more processors and memory. In someimplementations, a non-transitory computer readable storage mediumstores one or more programs that include instructions which, whenexecuted by a server system, causes the server system to perform themethod 800.

The server system receives (802) a request from a client device for aninformation page associated with an entity of an entity class. Theserver 106 receives a request from a client device 102 for aninformation page associated with an entity (e.g., a movie, a TV show,etc.). In some implementations, the request is a search query for theentity or an activation of an affordance in an information card for theentity (e.g., affordance 418 in information card 404).

The server system identifies (804) historical user activity logged bythe server system associated with one or more users with respect to oneor more of the entity and the entity class. The server 106 identifiespast user activity from multiple users (e.g., logged in user activityhistory 120) with respect to the entity and/or the entity class.

In some implementations, the historical user activity includes searchactivity by users. The past user activity 120 may include, for example,search queries by users for the entity and/or the entity class.

In some implementations, the historical user activity includes useractivity over a predefined time period. The past user activity 120 mayinclude user activity over a particular time period. For example, theserver 106 may consider past search queries by users over the past week,over the past month, or the like.

In some implementations, the historical user activity includes spikes inthe user activity. For example, search queries for an entity maysuddenly increase, indicating a heightened demand for, or popularity of,particular information (e.g., information on the entity).

In some implementations, the entity is an instance of the entity class.For example, a movie entity is an instance of the movies entity class.

In some implementations, the entity class is one of: movie, televisionshow, book, and business. For example, the structured information pagemay be displayed for a movie, a TV show, a book, or a business (e.g., arestaurant, a bar, a service business, etc.).

The server system identifies (806) automatically and without userintervention information associated with the entity and a plurality ofinformation types associated with the entity. The server 106automatically identifies entity information and information types in,for example, entities information database 122.

The server system generates and formats (808) automatically and withoutuser intervention a structured information page structured according tothe identified information types, where the identified information typesinclude a first set of predefined information types and a second set ofdynamically selected information types, and the second set ofdynamically selected information types is selected from a set ofcandidate information types in accordance with relative importance ofthe candidate information types as determined by the server system basedon the historical user activity. The server 106 automatically andwithout need for additional user input, generates and formats astructured information page associated with the entity according to theidentified information types for the entity, which includes predefinedinformation types and dynamically selected information types. The server106 (e.g., the information types module 150) selects the dynamicallyselected information types from a set of candidate information types 252associated with the entity class based on relative importance of thecandidate information types for the entity class, where the relativeimportance is determined by the server 106 (e.g., the information typesmodule 150) based on past user activity 120 logged by the server 106with respect to the entity and/or the entity class.

In some implementations, the predefined set of information types ispredefined for the entity class. The predefined information types arepredefined for the entity class. Different entity classes may havedifferent sets of predefined information types. For example, the set ofpredefined information types for a movie may include show times, cast,crew, and release date. The set of predefined information types for a TVshow may include episodes, cast, and crew. The set of predefinedinformation types for a business may include address, business hours,and contact information.

The server system populates (818) automatically and without userintervention the structured information page with the identifiedinformation. The server 106 automatically inserts the identifiedinformation for the entity into the structured information page.

The server system transmits (824) the generated and formatted structuredinformation page to the client device for display by the client device.The server 106 transmits the structured information page to the clientdevice 102 for display by the client device 102 (e.g., in the assistantapplication 126-2).

In some implementations, the structured information page includes aplurality of regions. The structured information page may includemultiple delineated regions, sections, or areas where information forthe entity may be displayed.

In some implementations, populating automatically and without userintervention the structured information page with the informationassociated with the entity includes organizing (820) the informationsuch that each of the plurality of regions is populated with informationof a respective identified information type, and populating (822) eachof the plurality of regions with identified information of a respectiveidentified information type. The server 106 inserts information ofrespective information types into respective regions of the structuredinformation page. For example, structured information page 420 includesregions 406, 408, 410, and so on. A region in the structured informationpage may be populated with information, for the entity, of a respectiveinformation type.

In some implementations, a first subset of the plurality of regionscorresponds to the first set of predefined information types, and asecond subset of the plurality of regions corresponds to a second set ofdynamically selected information types. Some of the regions in thestructured information page are assigned to displaying information forthe predefined information types, and some other regions in thestructured information page are assigned to displaying information forthe dynamically selected information types.

In some implementations, generating and formatting the structuredinformation page further includes determining (810) a primary color anda secondary color associated with the entity, and configuring (812)respective regions of the plurality of regions of the structuredinformation page with respective accent colors selected from either theprimary color or the secondary color, such that the structureinformation page includes both the primary color and the secondarycolor. The server 106 (e.g., the entity colors module 250) determines aprimary color and a secondary color associated with the entity. In someimplementations, the server 106 determines the primary and secondarycolors for the entity based on content associated with the entity (e.g.,images, online documents, etc.). The server 106 assigns a respectiveregion of the structured information page with the primary color, thesecondary color, or a default color as an accent color, such that atleast the primary color and optionally also the secondary color areincluded and displayed in the structured information page.

In some implementations, the primary color is derived from an imageassociated with the entity. For example, the entity colors module maydetermine the primary color for a movie entity from colors in movieposter images associated with the movie entity.

In some implementations, the secondary color is associated with theprimary color. In some implementations, the secondary color is adifferent shade of the primary color. For example, the secondary colormay be a lighter or darker shade of the primary color.

In some implementations, configuring respective regions of the pluralityof regions with respective accent colors includes associating (814)respective regions of the plurality of regions with respectivebackground colors, including assigning the primary color, the secondarycolor, or a default background color as the respective background colorof a respective region. The server 106 associates or assigns respectiveregions with respective background colors. A respective region may beassigned the primary color, the secondary color, or a default backgroundcolor as the background color for the region.

In some implementations, a respective background color of a first regionof the structured information page is the primary color, and arespective background color of a second region, distinct from the firstregion, of the structured information page is the secondary color. Insome implementations, the first region and the second region areadjacent to each other.

In some implementations, the server system associates (816) a firstsubset of the information types with the primary color and a secondsubset of the information types with the secondary color. The server 106associates some of the information types with the primary color and someother information types with the secondary color. The information typesassociated with the primary color are populated into regions with theprimary color as the accent color (e.g., background color), and theinformation types associated with the secondary color are populated intoregions with the secondary color as the accent color.

It will be understood that, although the terms “first,” “second,” etc.may be used herein to describe various elements, these elements shouldnot be limited by these terms. These terms are only used to distinguishone element from another. For example, a first contact could be termed asecond contact, and, similarly, a second contact could be termed a firstcontact, which changing the meaning of the description, so long as alloccurrences of the “first contact” are renamed consistently and alloccurrences of the second contact are renamed consistently. The firstcontact and the second contact are both contacts, but they are not thesame contact.

The terminology used herein is for the purpose of describing particularimplementations only and is not intended to be limiting of the claims.As used in the description of the implementations and the appendedclaims, the singular forms “a”, “an” and “the” are intended to includethe plural forms as well, unless the context clearly indicatesotherwise. It will also be understood that the term “and/or” as usedherein refers to and encompasses any and all possible combinations ofone or more of the associated listed items. It will be furtherunderstood that the terms “comprises” and/or “comprising,” when used inthis specification, specify the presence of stated features, integers,steps, operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the phrase “if it isdetermined [that a stated condition precedent is true]” or “if [a statedcondition precedent is true]” or “when [a stated condition precedent istrue]” may be construed to mean “upon determining” or “in response todetermining” or “in accordance with a determination” or “upon detecting”or “in response to detecting” that the stated condition precedent istrue, depending on the context.

Reference will now be made in detail to various implementations,examples of which are illustrated in the accompanying drawings. In thefollowing detailed description, numerous specific details are set forthin order to provide a thorough understanding of the invention and thedescribed implementations. However, the invention may be practicedwithout these specific details. In other instances, well-known methods,procedures, components, and circuits have not been described in detailso as not to unnecessarily obscure aspects of the implementations.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific implementations. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theimplementations were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious implementations with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method, comprising: at a server systemcomprising memory and one or more processors: receiving a request from aclient device for an information page associated with an entity of anentity class; identifying historical user activity logged by the serversystem associated with one or more users with respect to one or more of:the entity and the entity class; identifying automatically and withoutuser intervention information associated with the entity and a pluralityof information types associated with the entity; generating andformatting automatically and without user intervention a structuredinformation page structured according to the identified informationtypes, wherein: the identified information types include a first set ofpredefined information types and a second set of dynamically selectedinformation types; and the second set of dynamically selectedinformation types is selected from a set of candidate information typesin accordance with relative importance of the candidate informationtypes as determined by the server system based on the historical useractivity; populating automatically and without user intervention thestructured information page with the identified information; andtransmitting the generated and formatted structured information page tothe client device for display by the client device.
 2. The method ofclaim 1, wherein the historical user activity includes search activityby users.
 3. The method of claim 1, wherein the historical user activityincludes user activity over a predefined time period.
 4. The method ofclaim 1, wherein the historical user activity includes spikes in theuser activity.
 5. The method of claim 1, wherein the entity is aninstance of the entity class.
 6. The method of claim 5, wherein theentity class is one of: movie, television show, book, and business. 7.The method of claim 5, wherein the predefined set of information typesare predefined for the entity class.
 8. The method of claim 1, whereinthe structured information page comprises a plurality of regions.
 9. Themethod of claim 8, wherein populating automatically and without userintervention the structured information page with the informationassociated with the entity comprises: organizing the information suchthat each of the plurality of regions is populated with information of arespective identified information type; and populating each of theplurality of regions with identified information of a respectiveidentified information type.
 10. The method of claim 8, wherein a firstsubset of the plurality of regions corresponds to the first set ofpredefined information types, and a second subset of the plurality ofregions corresponds to a second set of dynamically selected informationtypes.
 11. The method of claim 8, wherein generating and formatting thestructured information page further comprises: determining a primarycolor and a secondary color associated with the entity; and configuringrespective regions of the plurality of regions of the structuredinformation page with respective accent colors selected from either theprimary color or the secondary color, such that the structureinformation page includes both the primary color and the secondarycolor.
 12. The method of claim 11, wherein the secondary color isassociated with the primary color.
 13. The method of claim 11, whereinthe secondary color is a different shade of the primary color.
 14. Themethod of claim 11, wherein configuring respective regions of theplurality of regions with respective accent colors comprises associatingrespective regions of the plurality of regions with respectivebackground colors, including assigning the primary color, the secondarycolor, or a default background color as the respective background colorof a respective region.
 15. The method of claim 14, wherein: arespective background color of a first region of the structuredinformation page is the primary color; and a respective background colorof a second region, distinct from the first region, of the structuredinformation page is the secondary color.
 16. The method of claim 15,wherein the first region and the second region are adjacent to eachother.
 17. The method of claim 11, further comprising: associating afirst subset of the information types with the primary color and asecond subset of the information types with the secondary color.
 18. Themethod of claim 11, wherein the primary color is derived from an imageassociated with the entity.
 19. A computer system, comprising: one ormore processors; memory; and one or more programs, wherein the one ormore programs are stored in the memory and are configured to be executedby the one or more processors, the one or more programs includinginstructions for: receiving a request from a client device for aninformation page associated with an entity of an entity class;identifying historical user activity logged by the server systemassociated with one or more users with respect to one or more of: theentity and the entity class; identifying automatically and without userintervention information associated with the entity and a plurality ofinformation types associated with the entity; generating and formattingautomatically and without user intervention a structured informationpage structured according to the identified information types, wherein:the identified information types include a first set of predefinedinformation types and a second set of dynamically selected informationtypes; and the second set of dynamically selected information types isselected from a set of candidate information types in accordance withrelative importance of the candidate information types as determined bythe server system based on the historical user activity; populatingautomatically and without user intervention the structured informationpage with the identified information; and transmitting the generated andformatted structured information page to the client device for displayby the client device.
 20. A computer readable storage medium storing oneor more programs, the one or more programs comprising instructions that,when executed by a computer system, cause the computer system toperform: receiving a request from a client device for an informationpage associated with an entity of an entity class; identifyinghistorical user activity logged by the server system associated with oneor more users with respect to one or more of: the entity and the entityclass; identifying automatically and without user interventioninformation associated with the entity and a plurality of informationtypes associated with the entity; generating and formattingautomatically and without user intervention a structured informationpage structured according to the identified information types, wherein:the identified information types include a first set of predefinedinformation types and a second set of dynamically selected informationtypes; and the second set of dynamically selected information types isselected from a set of candidate information types in accordance withrelative importance of the candidate information types as determined bythe server system based on the historical user activity; populatingautomatically and without user intervention the structured informationpage with the identified information; and transmitting the generated andformatted structured information page to the client device for displayby the client device.